new Vue({
    el: "#app",
    data: {
        kpf: {
            id: "",            // id
            phone: "",         // 登录手机号
            password: "",      // 登录密码
            userId: "",        // 用户id
            roleType: ""       // 角色类型
        }
    },
    methods: {
        // 登录方法
        login: function (phone, password) {
            //在当前方法中定义一个变量，表明是vue对象
            var _this = this;
            axios.get('/consumer/user/login', {
                params: {
                    phone: phone,      //手机号
                    password: password       //密码
                }
            })
                .then(function (response) {
                    if (response.data.data == null) {
                        alert("账号不存在！请确认账号和密码~");
                        //清空username和password重新登录
                        _this.kpf.phone = "";
                        _this.kpf.password = "";
                    } else {
                        // 根据用户id去请求创建token
                        _this.createToken(response.data.data.id, response.data.data.userType);
                        alert("登录成功(●'◡'●)！欢迎您，尊敬的：" + response.data.data.username);
                        // 如果userType = 2的话直接跳转到管理员页面, 其余都跳转到首页
                        if (response.data.data.userType == 2) {
                            // 跳转到帖子管理页面
                            window.location.href = "topicAdmin.html";
                        } else {
                            // 如果userType不为3的话直接跳转到首页
                            window.location.href = "index.html";
                        }
                    }
                })
                .catch(function (error) {
                    console.log(error);
                })
        },
        createToken: function (userId, roleType) {
            //在当前方法中定义一个变量，表明是vue对象
            var _this = this;
            //axios的post方式需要一个formData来传参
            var formData = new FormData();
            formData.append('userId', userId);
            formData.append('roleType', roleType);
            var config = {
                headers: {
                    'Content-Type': 'multipart/form-data'
                }
            }
            axios.post('/consumer/token/createToken', formData, config)
                .then(
                    function (response) {
                        if (response.data.code != 1) {
                            alert("token生成失败！请重新登录！");
                            window.location.href = "login.html";
                        }
                    }
                )
                .catch(function (error) {
                    console.log(error);
                })
        }
    }
});